﻿// ***********************************************************************
// Assembly         : Logica
// Author           : Diego
// Created          : 03-02-2014
//
// Last Modified By : Diego
// Last Modified On : 03-02-2014
// ***********************************************************************
// <copyright file="LOG_Material_No_Estructural.cs" company="">
//     Copyright (c) . All rights reserved.
// </copyright>
// <summary></summary>
// ***********************************************************************
using AccesoDatos.Modulos.ClasesAccesoDatos;
using Modelado.Modulos.ClasesModelado;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

/// <summary>
/// The ClasesLogica namespace.
/// </summary>
namespace Logica.Modulos.ClasesLogica
{
    /// <summary>
    /// Class LOG_Material_No_Estructural.
    /// </summary>
    public class LOG_Material_No_Estructural:Negocio
    {



        //insertar Material_No_Estructural
        /// <summary>
        /// Crs the e_ material_ no_ estructural.
        /// </summary>
        /// <param name="obj">The object.</param>
        public void CRE_Material_No_Estructural(MOD_Material_No_Estructural obj)
        {
            try
            {
                this.IniciarTransaccion();

                AD_Material_No_Estructural objBD = new AD_Material_No_Estructural();

                objBD.CRE_Material_No_Estructural(this.comando, obj);

                this.ConfirmarTransaccion();
            }
            catch (Exception exc)
            {
                this.DeshacerTransaccion();
                throw exc;
            }
        }
        //Elimina Material_No_Estructural
        /// <summary>
        /// Des the l_ material_ no_ estructural.
        /// </summary>
        /// <param name="codigo">The codigo.</param>
        public void DEL_Material_No_Estructural(int codigo)
        {
            try
            {
                this.IniciarTransaccion();

                AD_Material_No_Estructural objBD = new AD_Material_No_Estructural();

                objBD.DEL_Material_No_Estructural(this.comando, codigo);

                this.ConfirmarTransaccion();
            }
            catch (Exception exc)
            {
                this.DeshacerTransaccion();
                throw exc;
            }
        }
        //Actualiza Material_No_Estructural
        /// <summary>
        /// Ups the d_ material_ no_ estructural.
        /// </summary>
        /// <param name="obj">The object.</param>
        public void UPD_Material_No_Estructural(MOD_Material_No_Estructural obj)
        {
            try
            {
                this.IniciarTransaccion();

                AD_Material_No_Estructural objBD = new AD_Material_No_Estructural();

                objBD.UPD_Material_No_Estructural(this.comando, obj);

                this.ConfirmarTransaccion();
            }
            catch (Exception exc)
            {
                this.DeshacerTransaccion();
                throw exc;
            }

        }
        //consultar grid Material_No_Estructural
        /// <summary>
        /// Ses the l_ grid_ material_ no_ estructural.
        /// </summary>
        /// <returns>List{MOD_Material_No_Estructural}.</returns>
        public List<MOD_Material_No_Estructural> SEL_Grid_Material_No_Estructural()
        {
            try
            {
                this.AbrirConexion();

                AD_Material_No_Estructural objBD = new AD_Material_No_Estructural();

                List<MOD_Material_No_Estructural> lista = objBD.SEL_Grid_Material_No_Estructural(this.comando);

                this.CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }
        //Seleccionar Tipo cliente by id
        /// <summary>
        /// Ses the l_ material_ no_ estructural by identifier.
        /// </summary>
        /// <param name="MATNOEST_CODMATNOEST">The matnoes t_ codmatnoest.</param>
        /// <returns>MOD_Material_No_Estructural.</returns>
        public MOD_Material_No_Estructural SEL_Material_No_EstructuralByID(int MATNOEST_CODMATNOEST)
        {
            try
            {
                this.AbrirConexion();

                AD_Material_No_Estructural objBD = new AD_Material_No_Estructural();

                MOD_Material_No_Estructural objCliente = objBD.SEL_Material_No_EstructuralByID(this.comando, MATNOEST_CODMATNOEST);

                this.CerrarConexion();

                return objCliente;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }

        }
        //Seleccionar Material_No_Estructural por nombre ,verifiaca que al crear un material no esté repetido
        /// <summary>
        /// Ses the l_ material_ no_ estructural by nombre.
        /// </summary>
        /// <param name="MATNOEST_NOMBRE">The matnoes t_ nombre.</param>
        /// <returns>System.Int32.</returns>
        public int SEL_Material_No_EstructuralByNombre(string MATNOEST_NOMBRE)
        {
            try
            {
                this.AbrirConexion();

                AD_Material_No_Estructural objBD = new AD_Material_No_Estructural();

                int cant_matnoest = objBD.SEL_Material_No_EstructuralByNombre(this.comando, MATNOEST_NOMBRE);

                this.CerrarConexion();

                return cant_matnoest;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }

        }

    }
}
